package com.shrct.businessprocess.project;

import com.shrct.businessprocess.project.RCSalesCommissionYearConfig;
import com.shrct.businessprocess.project.impl.RCCommissionYearConfigImpl;
import com.shrct.businessprocess.project.proxy.RCCommissionYearConfigProxy;
import edu.fudan.mylang.pf.EntityImplementation;
import edu.fudan.mylang.pf.IModelObject;
import java.util.Collection;
import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;

@EntityImplementation(implementBy = RCCommissionYearConfigImpl.class)
public interface RCCommissionYearConfig extends IModelObject {
  public abstract Integer getYear();
  
  public abstract RCCommissionYearConfig setYear(final Integer year);
  
  public abstract Collection<RCSalesCommissionYearConfig> getItems();
  
  public abstract RCSalesCommissionYearConfig createAndAddtoItems();
  
  public abstract RCSalesCommissionYearConfig createAndAddtoItems(final Procedure1<RCSalesCommissionYearConfig> updater);
  
  public abstract RCCommissionYearConfig removeFromItems(final RCSalesCommissionYearConfig rCSalesCommissionYearConfig);
  
  public abstract RCCommissionYearConfig removeAllItems();
  
  public abstract RCSalesCommissionYearConfig createSalesConfig(final Procedure1<? super RCSalesCommissionYearConfig> init);
  
  public abstract void deleteSalesConfig(final RCSalesCommissionYearConfig config);
  
  public abstract void checkValid();
  
  public abstract RCCommissionYearConfigProxy toProxy();
}
